﻿namespace Robotec.NET.Application;

/// <summary>
/// 页面配置明细输出参数
/// </summary>
public class SysPageOptionConfigColumnOutput:BaseOutput
{
    /// <summary>
    /// 列描述
    /// </summary>
    public string? label { get; set; }
    
    /// <summary>
    /// 列宽
    /// </summary>
    public int? width { get; set; }
    
    /// <summary>
    /// 隐藏列
    /// </summary>
    public bool? hide { get; set; }
    
    /// <summary>
    /// 是否是搜索框
    /// </summary>
    public bool? search { get; set; }
    
    /// <summary>
    /// 禁用
    /// </summary>
    public bool? disabled { get; set; }
    
    /// <summary>
    ///  列表中可编辑
    /// </summary>
    public bool? cell { get; set; }
    
    /// <summary>
    /// 搜索框宽度
    /// </summary>
    public int? searchLabelWidth { get; set; }
    
    public int? searchSpan { get; set; }
    /// <summary>
    /// 位置排序，数字越大位置越靠前
    /// </summary>
    public int? order { get; set; }
    
    /// <summary>
    /// 编辑隐藏
    /// </summary>
    public bool? display { get; set; }
    
    /// <summary>
    ///  列内容超出隐藏
    /// </summary>
    public bool? overHidden { get; set; }
    
    /// <summary>
    /// 固定列
    /// </summary>
    public bool? fixed_ { get; set; }
    
    /// <summary>
    /// 排序
    /// </summary>
    public bool? sortable { get; set; }

    public int? labelWidth { get; set; }
    /// <summary>
    /// 编辑/新增表单列数
    /// </summary>
    public int? span { get; set; }
    
    /// <summary>
    /// 标题提示语
    /// </summary>
    public string? labelTip { get; set; }
    
    /// <summary>
    /// 新增时是否显示
    /// </summary>
    public bool? addDisplay { get; set; }
    
    /// <summary>
    /// 编辑时是否显示
    /// </summary>
    public bool? editDisplay { get; set; }
    
    /// <summary>
    /// 显示字数限制
    /// </summary>
    public bool? showWordLimit { get; set; }
    
    /// <summary>
    /// Id
    /// </summary>
    public long? Id { get; set; }
    
    /// <summary>
    /// 路由路径
    /// </summary>
    public string? configPath { get; set; }
    
    /// <summary>
    /// 列字段名
    /// </summary>
    public string? prop { get; set; }
    
    /// <summary>
    /// 参与自定义列显隐
    /// </summary>
    public bool? showColumn { get; set; }
    
    /// <summary>
    /// 数据字典拉取地址
    /// </summary>
    public string? dicUrl { get; set; }
    
    /// <summary>
    /// 数据字典
    /// </summary>
    [SugarColumn(IsJson =true)]
    public object props { get; set; } 
    
    /// <summary>
    /// 数据字典的值
    /// </summary>
    [SugarColumn(IsJson =true)]
    public object dicData { get; set; } 
    
    /// <summary>
    /// 类型
    /// </summary>
    public string? type { get; set; }
    
    /// <summary>
    /// 过滤条件显示列
    /// </summary>
    public bool? filterable { get; set; }
    
    /// <summary>
    /// 是否开启虚拟Dom模式
    /// </summary>
    public bool? virtualize { get; set; }
    
    /// <summary>
    /// 是否为远程搜索
    /// </summary>
    public bool? remote { get; set; }
    
    /// <summary>
    /// 下拉框是否多选
    /// </summary>
    public bool? multiple { get; set; }
    
    /// <summary>
    /// 最大允许选择个数
    /// </summary>
    public int? limit { get; set; }
    
    /// <summary>
    /// 文本最大输入长度
    /// </summary>
    public int? maxlength { get; set; }
    
    /// <summary>
    /// 提交验证
    /// </summary>
    [SugarColumn(IsJson =true)]
    public object rules { get; set; } 
    
    /// <summary>
    /// 默认值
    /// </summary>
    public string? value { get; set; }
    
    /// <summary>
    /// 是否日期区间
    /// </summary>
    public bool? searchRange { get; set; }
    
    /// <summary>
    ///  数据字典接口url携带请求参数
    /// </summary>
    public string? dicQuery { get; set; }
    
    /// <summary>
    /// 数据字典接口请求方式
    /// </summary>
    public string? dicMethod { get; set; }
    
    /// <summary>
    /// 数据字典接口url返回数据格式化方法
    /// </summary>
    public string? dicFormatter { get; set; }
    
    /// <summary>
    /// 详情时是否显示
    /// </summary>
    public bool? viewDisplay { get; set; }
    
    /// <summary>
    /// 添加的时候不能修改
    /// </summary>
    public bool? addDisabled { get; set; }
    
    /// <summary>
    /// 编辑的时候不能修改
    /// </summary>
    public bool? editDisabled { get; set; }
    
    /// <summary>
    /// select选择框匹配
    /// </summary>
    public bool? searchFilterable { get; set; }
    
    /// <summary>
    /// 组件名称
    /// </summary>
    public string? component { get; set; }
    
    /// <summary>
    /// 修改样式名称
    /// </summary>
    public string? className { get; set; }
    
    /// <summary>
    /// 级联选择器:可以选择任意一级
    /// </summary>
    public bool? checkStrictly { get; set; }
    
    /// <summary>
    /// 级联选择器:可以选择任意一级(在搜索框中起作用)
    /// </summary>
    public bool? searchCheckStrictly { get; set; }
    
    /// <summary>
    /// 级联菜单展示所有层级
    /// </summary>
    public bool? show_all_levels { get; set; }

    public string control { get; set; }



    /// <summary>
    /// 上传的地址
    /// </summary>
    public string action { get; set; }
    ///// <summary>
    ///// 返回数据结构体propsHttp配置
    ///// </summary>
    //[SugarColumn(IsJson = true)]
    //public PropsHttpModel propsHttp { get; set; }

    //[SugarColumn(IsNullable = true, ColumnDescription = "日期格式化")]
    //public string format { get; set; }
    //[SugarColumn(IsNullable = true, ColumnDescription = "日期值格式化")]
    //public string valueFormat { get; set; }
    ///// <summary>
    ///文件列表的类型 text/picture/picture-card 
    /// </summary>
    public string listType { get; set; }
}


